.. _cemPlsrGain_Set: cemPlsrGain_Set =============== --------------- SYNOPSIS -------- .. code-block:: none VT_I4 cemPlsrGain_Set( VT_I4 Channel, VT_I4 GainFactor, VT_I4 DivFactor ) DESCRIPTION ----------- - PA/PB 입력 펄스 대비 Command 출력 펄스 수의 비를 사용자가 임의로 조절할 수 있도록 하는 함수입니다. - (자세한 내용은 SW메뉴얼 참고) PARAMETER --------- - Channel : 축 번호. 통합 축으로 관리되는 축 번호를 의미하며, 상수 값으로 0 (Zero Based) 이상,. (최대 통합 축 개수 - 1) 이하의 값을 축 번호로 설정할 수 있습니다. - GainFactor : PMG 회로에 설정되는 사용자 정수를 설정 혹은 반환합니다. GainFactor 는 PMG. 회로에 설정되는 사용자 정수로서 PIM 회로를 거쳐서 생성된 1 차 출력 펄스를 1~32 배수의 펄스로. 재 생성하는 회로입니다. 이 값은 1 ~ 32 사이의 값이어야 합니다. 이 값의 초기 기본값은 1 입니다. - DivFactor : PDIV 회로에 설정되는 사용자 정수를 설정 혹은 반환합니다. DivFactor 는 PMG 회로를. 거쳐서 생성된 2 차 출력 펄스에 ( DivFactor/2048 )가 곱해져서 최종 출력 펄스를 생성합니다. . 이 값은 1 ~ 2048 의 값을 설정할 수 있는데 2048 을 제외한 나머지 값을 설정하면 결과적으로는 출력 펄스의 수를 줄이는 효과를 내므로 나누기 회로의 역할을 수행합니다. 이 값의 초기 기본값은 2048입니다. RETURN VALUE ------------ +----------------+-----------+ | Value | Meaning | +================+===========+ | 음수 | 수행 실패 | +----------------+-----------+ | 0 (ceERR_NONE) | 수행 성공 | +----------------+-----------+ Example ------- .. code-block:: cpp :linenos: C/C++ #include “ceSDK.h” #include “ceSDKDef.h” void OnSetPlsrGain () { /* GainFactor 값과 DivFactor 값을 설정 하여 입력 펄스 대비 출력 펄스 수의 비를 설정합니다. */ /* 출력 펄스를 입력 펄스의 2 배로 설정합니다. Pulsar 입력 모드 : CW/CCW, GainFactor : 2, DivFactor : 2048 로 설정하면 다음 수식에 의해 출력 펄스 비 = 입력 펄스 모드 * GainFactor * ( DivFactor / 2048 ) = 1 * 2 * 20048/2048 = 2 입력 펄스 : 출력 펄스 = 1 : 2 로 설정됩니다. */ if ( cemPlsrInMode_Set ( cemX1, cemIMODE_CWCCW, CE_FALSE ) == ceERR_NONE ) { cemPlsrGain_Set ( cemX1, // 대상 축 설정 2, // GainFactor: PMG 회로에 설정되는 사용자 정수 2048 // DivFactor: PDIV 회로에 설정되는 사용자 정수 ); } /* 출력 펄스를 입력 펄스의 0.25 배로 설정합니다. Pulsar 입력 모드 : AB1X, GainFactor : 1, DivFactor : 1024 로 설정하면 다음 수식에 의해 출력 펄스 비 = 입력 펄스 모드 * GainFactor * ( DivFactor / 2048 ) = 1 * 1 * 1024/2048 = 0.5 입력 펄스 : 출력 펄스 = 2 : 1 로 설정됩니다. */ if ( cemPlsrInMode_Set ( cemX1, cemIMODE_CWCCW, CE_FALSE ) == ceERR_NONE ) { cemPlsrGain_Set ( cemX1, 1, 1024 ); } }